The management of generic resources (for example, of a data processing system) is a critical activity. This is particularly true in modern systems, which include a number of different types of resources (such as computers, software programs, users, and the like) with a myriad of correlations (such as locations of the computers, installations of the software programs, authorizations of the users, and the like).
Resource management operations typically involve the execution of a long series of heterogeneous basic tasks in a specific sequence. For example, in order to verify compliance in a selected environment of the installed software programs with available licenses, it may be necessary to determine the software programs installed on each computer of interest, to meter their usage, to collect corresponding usage information from the different computers, and to compare the collected usage information with the available licenses.